热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

运算量|笔者_在Windows10环境安装CUDA11.7及PyTorch1.13使用NvidiaRTXA4000开始炼丹之旅

篇首语:本文由编程笔记#小编为大家整理,主要介绍了在Windows10环境安装CUDA11.7及PyTorch1.13--使用NvidiaRTXA4000开始炼丹之旅相关的知识,希望对你有一

篇首语:本文由编程笔记#小编为大家整理,主要介绍了在Windows10环境安装CUDA11.7及PyTorch1.13--使用Nvidia RTX A4000开始炼丹之旅相关的知识,希望对你有一定的参考价值。


在Windows10环境安装CUDA11.7及PyTorch1.13–使用Nvidia RTX A4000开始炼丹之旅


前言

这个双十一,RTX3090矿卡反倒是涨价了,RTX3090Ti当然也涨价了。。。只好从x宝搞一只工包丽台RTX A4000,唯一的好处就是显存大并且便宜。。。较RTX3060 12G,16G显存能玩的时间可能也长一点,毕竟现在是4K屏,显存大当然更从容些。


硬件配置

之前有写过:https://lizhiyong.blog.csdn.net/article/details/123294308



主板:x99f8d
CPU:e5 2696v3 *2 【36核72线程】
内存条:DDR4 ECC 32G *8 【256G】
显卡:RTX A4000 【16G显存】
散热器:ta 120ex *2 【单风扇】
SSD:MX500 2T *2 【4T】
HDD:NAS拆的酷狼 4T
电源:GX1000 【1000W】
机箱:614PC 【标配2风扇+套装3风扇】
显示器:27寸 【4K】
键鼠:笔记本淘汰的一套 【USB口】
网卡:主板自带的网卡


今天终于让GT730光荣退役了。


安装驱动

去Nvidia官网:https://www.nvidia.cn/Download/index.aspx?lang=cn

丽台还是可以省不少事情。。。因为CUDA可以比驱动老一些,所以直接Down个最新版本的驱动,不过多解释。


安装CUDA

查看支持的CUDA版本

驱动安装完毕并重启后就可以查看当前能够支持的最高版本CUDA:

可以看到目前的驱动支持的CUDA最高版本是:12.0.79。

当然不可能去安装最高版本的CUDA。。。为了能够正常使用PyTorch,一定是按照PyTorch的要求去安装才比较稳妥。。。虽然Flink1.15集群使用JDK1.17貌似也没出现啥特别严重的生产事故,但对非专业运维的开发人员来说,环境方面的问题还是稳妥点好。


查看PyTorch需要的CUDA版本

在PyTorch的官网:https://pytorch.org/

可以看到:

显然需要安装的CUDA版本是11.7。

老黄的网站:https://developer.nvidia.com/cuda-toolkit

点Download后:

默认的是11.8,笔者没心思验证是不是也能凑合着用。。。稳妥起见,还是应该选11.7。


安装CUDA11.7.1

在这个官方网站:https://developer.nvidia.com/cuda-toolkit-archive

可以找到古老的11.7.1版本,就是它了。

直接下载安装即可。

还需要被迫先安装一个Visual Studio。。。

笔者搞过C#,先这样吧。。。安装好Visual Studio后重新安装CUDA11.7.1即可。


验证CUDA

打开路径:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\bin

有个nvcc.exe文件。在CMD:

Microsoft Windows [版本 10.0.19045.2251]
(c) Microsoft Corporation。保留所有权利。
C:\\Users\\zhiyong>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:59:34_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
C:\\Users\\zhiyong>

这种情况就不需要配置环境变量了。。。如果识别不到就需要环境变量添加至少这个路径:



C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\libnvvp


C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\bin


此时可以确定CUDA安装成功。


安装Anaconda

直接官网:https://www.anaconda.com/

下载最新版本,一路下一步,再打2个钩,即可使用Anaconda来托管Python的环境,非常方便。

C:\\Users\\zhiyong>conda -V
conda 22.9.0
C:\\Users\\zhiyong>conda list
# packages in environment at C:\\Users\\zhiyong\\anaconda3:
#
# Name Version Build Channel
# 这里有一大坨
conda 22.9.0 py39haa95532_0
# 这里也有一大坨,省略了
zstd 1.5.2 h19a0ad4_0
C:\\Users\\zhiyong>

笔者之前为了使用PySpark已经安装过了。但是由于种种原因GUI坏掉了,所以笔者需要修复它。命令行比GUI稳定性好多了。。。


解决Anaconda启动闪退的问题

使用管理员运行:conda prompt

之后继续执行:

conda update anaconda-navigator
y
anaconda-navigator --reset
conda update anaconda-client
y
conda update -f anaconda-client
y

此时修复完毕。


解决Anaconda长时间init的问题

需要先断网,打开Anaconda后再联网。。。需要这么一套操作猛如虎的应该也不止笔者一个吧。。。


安装PyTorch1.13

在新的Env安装

先新建一个专门玩PyTorch的Env【笔者随意起名叫pytorch1】,防止出现依赖包冲突的问题:

然后管理员身份启动CMD:

C:\\WINDOWS\\system32>conda env list
# conda environments:
#
C:\\ProgramData\\Anaconda3
C:\\ProgramData\\Anaconda3\\envs\\pytorch1
base C:\\Users\\zhiyong\\anaconda3
pyspark1 C:\\Users\\zhiyong\\anaconda3\\envs\\pyspark1
C:\\WINDOWS\\system32>activate pytorch1
EnvironmentNameNotFound: Could not find conda environment: pytorch1
You can list all discoverable environments with `conda info --envs`.
C:\\WINDOWS\\system32>

显然此时出现了问题。。。remove掉重新再生成一个:

activate base
conda remove pytorch1
conda create -n pytorch1 python=3.9.13

此处的Python版本一定要选对,否则之后安装PyTorch会出现下方的报错。

敲y确定后,稍等几分钟即可看到:

C:\\WINDOWS\\system32>conda info --envs
# conda environments:
#
C:\\ProgramData\\Anaconda3
base C:\\Users\\zhiyong\\anaconda3
pyspark1 C:\\Users\\zhiyong\\anaconda3\\envs\\pyspark1
pytorch1 C:\\Users\\zhiyong\\anaconda3\\envs\\pytorch1
C:\\WINDOWS\\system32>activate pytorch1
(pytorch1) C:\\WINDOWS\\system32>conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
Proceed ([y]/n)? y

如果有配置加速:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/

其实也可以不用后边的2个-c的参数。。。


解决报错

This can take several minutes. Press CTRL-C to abort.
Examining torchaudio: 25%|███████████████▌ | 2/8 [01:03<03:11, 31.93s/it]/Examining conflict for pytorch torchaudio torchvision: 25%|███████▎ | 2/8 [00:03<00:10, 1.68s/it]-Examining conflict for pytorch torchvision: 38%|███████████████ | 3/8 [00:08<00:08, 1.77s/it]\\Examining conflict for python torchvision: 50%|████████████████████▌ | 4/8 [00:14<00:09, 2.35s/it]-failed
UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:
Specifications:
- pytorch -> python[version&#61;&#39;2.6.*|2.7.*|3.4.*|3.5.*|3.6.*|3.3.*|>&#61;2.7,<2.8.0a0|>&#61;3.11,<3.12.0a0|3.9.10|3.8.12|3.7.12|3.7.10|3.7.10|3.6.12|3.7.9|3.6.12|3.6.9|3.6.9|3.6.9|3.6.9|>&#61;3.8|>&#61;3.6|>&#61;3.5|>&#61;3.7|>&#61;3.6,<3.7|3.9.*&#39;,build&#61;&#39;0_73_pypy|1_73_pypy|2_73_pypy|3_73_pypy|5_73_pypy|5_73_pypy|0_73_pypy|1_73_pypy|0_73_pypy|4_73_pypy&#39;]
Your python: python&#61;3.9.13
If python is on the left-most side of the chain, that&#39;s the version you&#39;ve asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.
The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package vs2008_runtime conflicts for:
pytorch -> ninja -> vs2008_runtime
torchvision -> python -> vs2008_runtime
Package requests conflicts for:
python&#61;3.9 -> pip -> requests
torchvision -> requests
Package pytorch-cuda conflicts for:
torchaudio -> pytorch&#61;&#61;1.13.0 -> pytorch-cuda[version&#61;&#39;>&#61;11.6,<11.7|>&#61;11.7,<11.8&#39;]
torchaudio -> pytorch-cuda[version&#61;&#39;11.6.*|11.7.*&#39;]
torchvision -> pytorch&#61;&#61;1.13.0 -> pytorch-cuda[version&#61;&#39;>&#61;11.6,<11.7|>&#61;11.7,<11.8&#39;]
pytorch -> pytorch-cuda[version&#61;&#39;>&#61;11.6,<11.7|>&#61;11.7,<11.8&#39;]
torchvision -> pytorch-cuda[version&#61;&#39;11.6.*|11.7.*&#39;]
Package pytorch conflicts for:
torchvision -> pytorch[version&#61;&#39;1.10.0|1.10.1|1.10.2|1.13.0|1.12.1|1.12.0|1.11.0|1.9.1|1.9.0|1.8.1|1.8.0|1.7.1|1.7.0|1.6.0|1.5.1|1.5.0|1.4.0|1.3.1|1.3.0|1.2.0|>&#61;1.1.0|>&#61;1.0.0|>&#61;0.4&#39;]
torchaudio -> pytorch[version&#61;&#39;1.10.0|1.10.1|1.10.2|1.11.0|1.12.0|1.12.1|1.13.0|1.9.1|1.9.0|1.8.1|1.8.0|1.7.1|1.7.0|1.6.0&#39;]
(pytorch1) C:\\WINDOWS\\system32>

根据提示&#xff0c;应该更换为3.1.10再次尝试&#xff1a;

activate base
conda remove pytorch1
conda create -n pytorch1 python&#61;3.9.10
y
conda install pytorch torchvision torchaudio pytorch-cuda&#61;11.7
y

这次的报错少了一些&#xff1a;

This can take several minutes. Press CTRL-C to abort.-
Examining pytorch-cuda&#61;11.7: 25%|█████████████▊ | 2/8 [01:13<03:40, 36.68s/it]/Examining torchaudio: 100%|██████████████████████████████████████████████████████████████| 8/8 [01:44<00:00, 12.02s/it]\\failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package pytorch conflicts for:
pytorch
torchvision -> pytorch[version&#61;&#39;1.10.0|1.10.1|1.10.2|1.13.0|1.12.1|1.12.0|1.11.0|1.9.1|1.9.0|1.8.1|1.8.0|1.7.1|1.7.0|1.6.0|1.5.1|1.5.0|1.4.0|1.3.1|1.3.0|1.2.0|>&#61;1.1.0|>&#61;1.0.0|>&#61;0.4&#39;]
torchaudio -> pytorch[version&#61;&#39;1.10.0|1.10.1|1.10.2|1.11.0|1.12.0|1.12.1|1.13.0|1.9.1|1.9.0|1.8.1|1.8.0|1.7.1|1.7.0|1.6.0&#39;]
Package pytorch-cuda conflicts for:
torchaudio -> pytorch&#61;&#61;1.13.0 -> pytorch-cuda[version&#61;&#39;>&#61;11.6,<11.7|>&#61;11.7,<11.8&#39;]
torchvision -> pytorch&#61;&#61;1.13.0 -> pytorch-cuda[version&#61;&#39;>&#61;11.6,<11.7|>&#61;11.7,<11.8&#39;]
torchvision -> pytorch-cuda[version&#61;&#39;11.6.*|11.7.*&#39;]
pytorch-cuda&#61;11.7
torchaudio -> pytorch-cuda[version&#61;&#39;11.6.*|11.7.*&#39;]
Package setuptools conflicts for:
torchvision -> setuptools
python&#61;3.9.10 -> pip -> setuptools
Package msvc_runtime conflicts for:
torchvision -> python[version&#61;&#39;>&#61;3.5,<3.6.0a0&#39;] -> msvc_runtime
pytorch -> python[version&#61;&#39;>&#61;3.5,<3.6.0a0&#39;] -> msvc_runtime
(pytorch1) C:\\WINDOWS\\system32>

显然Python版本更换后还有其它的问题。。。

根据官网&#xff1a;https://pytorch.org/get-started/locally/

目前Windows10的PyTorch只能使用3.7->3.9&#xff0c;所以降低Python版本&#xff1a;

activate base
conda remove pytorch1
conda create -n pytorch1 python&#61;3.8
y
activate pytorch1
conda install pytorch torchvision torchaudio pytorch-cuda&#61;11.7
y

依旧失败&#xff0c;还是因为有很多包冲突。。。显然conda命令是有问题的。换用pip3的方式&#xff1a;

(pytorch1) C:\\WINDOWS\\system32>pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
Installing collected packages: urllib3, typing-extensions, pillow, numpy, idna, charset-normalizer, torch, requests, torchvision, torchaudio
Successfully installed charset-normalizer-2.1.1 idna-3.4 numpy-1.23.4 pillow-9.3.0 requests-2.28.1 torch-1.13.0&#43;cu117 torchaudio-0.13.0&#43;cu117 torchvision-0.14.0&#43;cu117 typing-extensions-4.4.0 urllib3-1.26.12
(pytorch1) C:\\WINDOWS\\system32>

貌似这样可以成功。


验证PyTorch

继续在pytorch1这个Env安装spark-shell敲scala命令的方式敲python命令&#xff1a;

(pytorch1) C:\\WINDOWS\\system32>python
Python 3.8.13 (default, Oct 19 2022, 22:38:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.__version__
&#39;1.13.0&#43;cu117&#39;
>>> exit()
(pytorch1) C:\\WINDOWS\\system32>

可以看到目前已经启用了CUDA加速&#xff0c;且PyTorch的版本是1.13&#xff0c;安装成功。


测试CUDA效果

使用PyCharm新建项目


Py脚本

import time
import torch
if __name__ &#61;&#61; &#39;__main__&#39;:
print("启动&#xff01;&#xff01;&#xff01;")
print("PyTorch版本&#xff1a;" &#43; torch.__version__)
print("PyTorch是否启动CUDA&#xff1a;", torch.cuda.is_available())
matrix_a1 &#61; torch.randn(99999, 9999)
matrix_b1 &#61; torch.randn(9999, 88888)
t1 &#61; time.time() #cpu运算前的时间
matrix_c1 &#61; torch.matmul(matrix_a1,matrix_b1) #cpu做矩阵相乘
t2 &#61; time.time() #cpu运算后的时间
print("当前模式&#xff1a;",matrix_a1.device,"\\t耗时&#xff1a;",t2-t1,matrix_c1.norm(2))
gpu &#61; torch.device("cuda")
matrix_a2&#61;matrix_a1.to(gpu)
matrix_b2&#61;matrix_b1.to(gpu)
t3&#61;time.time() #gpu运算前的时间
matrix_c2&#61;torch.matmul(matrix_a2,matrix_b2)
t4&#61;time.time() #gpu运算后的时间
print("当前模式&#xff1a;", matrix_a2.device, "\\t耗时&#xff1a;", t4 - t3, matrix_c2.norm(2))
t5&#61;time.time() #gpu运算前的时间
matrix_c3&#61;torch.matmul(matrix_a2,matrix_b2)
t6&#61;time.time() #gpu运算后的时间
print("当前模式&#xff1a;", matrix_a2.device, "\\t耗时&#xff1a;", t6 - t5, matrix_c3.norm(2))

结果显存爆了&#xff1a;

C:\\Users\\zhiyong\\anaconda3\\envs\\pytorch1\\python.exe C:/Users/zhiyong/PycharmProjects/pyTorchProject1/com.zhiyong.demo1/pyTorchDemo1.py
启动&#xff01;&#xff01;&#xff01;
PyTorch版本&#xff1a;1.13.0&#43;cu117
PyTorch是否启动CUDA&#xff1a; True
当前模式&#xff1a; cpu 耗时&#xff1a; 147.05355715751648 tensor(4203777.)
Traceback (most recent call last):
File "C:/Users/zhiyong/PycharmProjects/pyTorchProject1/com.zhiyong.demo1/pyTorchDemo1.py", line 23, in <module>
matrix_c2&#61;torch.matmul(matrix_a2,matrix_b2)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 33.11 GiB (GPU 0; 15.99 GiB total capacity; 7.04 GiB already allocated; 7.86 GiB free; 7.04 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
进程已结束,退出代码1

结果出乎意料。。。CPU运算了147s成功了&#xff0c;占用了18C【Win10调度有问题&#xff0c;但是依旧能跑满单路】和60G内存。GPU运算因为显存不足32G【A4000只有16G】&#xff0c;申请不到足够的显存&#xff0c;直接失败了。。。


第二次测试

这次减少数据量&#xff1a;

matrix_a1 &#61; torch.randn(99999, 9999)
#matrix_b1 &#61; torch.randn(9999, 88888)#CPU可以运算
matrix_b1 &#61; torch.randn(9999, 20000)#GPU运算量太大会爆显存

结果显存又OOM了&#xff1a;

C:\\Users\\zhiyong\\anaconda3\\envs\\pytorch1\\python.exe C:/Users/zhiyong/PycharmProjects/pyTorchProject1/com.zhiyong.demo1/pyTorchDemo1.py
启动&#xff01;&#xff01;&#xff01;
PyTorch版本&#xff1a;1.13.0&#43;cu117
PyTorch是否启动CUDA&#xff1a; True
当前模式&#xff1a; cpu 耗时&#xff1a; 32.04557013511658 tensor(3089646.7500)
当前模式&#xff1a; cuda:0 耗时&#xff1a; 1.7030134201049805 tensor(4472055.5000, device&#61;&#39;cuda:0&#39;)
Traceback (most recent call last):
File "C:/Users/zhiyong/PycharmProjects/pyTorchProject1/com.zhiyong.demo1/pyTorchDemo1.py", line 29, in <module>
matrix_c3&#61;torch.matmul(matrix_a2,matrix_b2)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 7.45 GiB (GPU 0; 15.99 GiB total capacity; 11.92 GiB already allocated; 2.17 GiB free; 11.92 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
进程已结束,退出代码1

第三次测试

#matrix_a1 &#61; torch.randn(99999, 9999)#CPU可以运算
#matrix_b1 &#61; torch.randn(9999, 88888)#CPU可以运算
matrix_a1 &#61; torch.randn(20000, 9999)#GPU运算量太大会爆显存
matrix_b1 &#61; torch.randn(9999, 20000)#GPU运算量太大会爆显存

这次终于看到了加速效果&#xff1a;

C:\\Users\\zhiyong\\anaconda3\\envs\\pytorch1\\python.exe C:/Users/zhiyong/PycharmProjects/pyTorchProject1/com.zhiyong.demo1/pyTorchDemo1.py
启动&#xff01;&#xff01;&#xff01;
PyTorch版本&#xff1a;1.13.0&#43;cu117
PyTorch是否启动CUDA&#xff1a; True
当前模式&#xff1a; cpu 耗时&#xff1a; 6.454258918762207 tensor(1860912.2500)
当前模式&#xff1a; cuda:0 耗时&#xff1a; 1.3742117881774902 tensor(1999540.1250, device&#61;&#39;cuda:0&#39;)
当前模式&#xff1a; cuda:0 耗时&#xff1a; 0.016983509063720703 tensor(1999540.1250, device&#61;&#39;cuda:0&#39;)
进程已结束,退出代码0

可以看出GPU运算虽然首次需要加载C&#43;&#43;的包&#xff0c;依旧比CPU快了5倍。第二次运算时C&#43;&#43;的包已经加载完毕&#xff0c;比CPU快了380倍。但是快归快&#xff0c;就算是A4000有ECC【当然双路E5也有ECC】算出来的结果依旧不准。。。


尾言

总结

至此&#xff0c;环境搭设成功&#xff0c;可以愉快地炼丹了&#xff0c;机器学习和深度学习这种只要是可以GPU提速的&#xff0c;那一定是比CPU快。

ML和DL最需要的是大显存&#xff01;&#xff01;&#xff01;

ML和DL最需要的是大显存&#xff01;&#xff01;&#xff01;

ML和DL最需要的是大显存&#xff01;&#xff01;&#xff01;

重要的话说三遍。16G显存只够入门随便玩玩&#xff01;&#xff01;&#xff01;而且GPU运算不准&#xff01;&#xff01;&#xff01;


跑分

最后再更新一波撸大娘的跑分&#xff1a;

晕3D&#xff0c;不指望打3D游戏。。。

为神马还是被识别为GT730&#xff1f;&#xff1f;&#xff1f;依旧退役了好不&#xff1f;&#xff1f;&#xff1f;

从撸大娘的跑分结果来看&#xff0c;这只丽台RTX A4000显卡&#xff0c;性能也就是和RTX 3060Ti打的有来有回&#xff0c;毕竟是低功率卡&#xff0c;和移动端RTX 3070半差不差也在意料之中。老泰坦强于3060Ti是万万没想到。。。

工包丽台RTX A4000算是目前Nvidia最便宜的16G显存卡了吧&#xff1f;这个价位貌似也就只有3090矿卡还有一战之力了。

转载请注明出处&#xff1a;https://lizhiyong.blog.csdn.net/article/details/127827522


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
author-avatar
拍友2502869537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有